Even though 3.1.0 won't have an implementation for it, reserve
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 3 May 2007 08:29:07 +0000 (09:29 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 3 May 2007 08:29:07 +0000 (09:29 +0100)
VCPUOP_register_vcpu_info anyway so that we can start talking about
the interface on the guest side.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
xen/include/public/vcpu.h

index 7252d0b793137335ed8316aca91a0159211c35dc..845f7e2c0566784fade041255274f5a3c412c9c7 100644 (file)
@@ -161,6 +161,24 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_set_singleshot_timer_t);
 #define _VCPU_SSHOTTMR_future (0)
 #define VCPU_SSHOTTMR_future  (1U << _VCPU_SSHOTTMR_future)
 
+/* 
+ * Register a memory location in the guest address space for the
+ * vcpu_info structure.  This allows the guest to place the vcpu_info
+ * structure in a convenient place, such as in a per-cpu data area.
+ * The pointer need not be page aligned, but the structure must not
+ * cross a page boundary.
+ *
+ * If the specified mfn is INVALID_MFN, then it reverts to using the
+ * vcpu_info structure in the shared_info page.
+ */
+#define VCPUOP_register_vcpu_info   10  /* arg == struct vcpu_info */
+struct vcpu_register_vcpu_info {
+    xen_pfn_t mfn;              /* mfn of page to place vcpu_info */
+    uint32_t offset;            /* offset within page */
+};
+typedef struct vcpu_register_vcpu_info vcpu_register_vcpu_info_t;
+DEFINE_XEN_GUEST_HANDLE(vcpu_register_vcpu_info_t);
+
 #endif /* __XEN_PUBLIC_VCPU_H__ */
 
 /*